Character recognition method

ABSTRACT

The present invention relates to a character recognition method. Same comprises: step  1:  reading in a character image; step  2:  image preprocessing; step  3:  character splitting; step  4:  edge extraction; utilizing an edge detection operator to detect edge points of characters; step  5:  feature extraction, where the features of each edge point of each character are all expressed with distances running from other edge points of the character to the edge point and are represented by eigenvectors (P k , P k , . . . P); step  6:  feature processing, mapping the eigenvectors (P k , P k , . . . P) into a matrix, T, thus allowing all characters to be identical in eigenvector dimension; and, step  7:  template matching recognition. Because the features of each edge point of the characters are all expressed with the distances running from the other edge points to the edge point, the entirety of the features are ensured for the characters, and the difference in features are expanded for different characters, thus increasing character recognition accuracy.

The present application claims the priority of Chinese Patent Application No. 201310012073.8, titled “CHARACTER RECOGNITION METHOD”, filed on Jan. 11, 2013 with the State Intellectual Property Office of China, which is incorporated herein by reference in its entirety.

FIELD

The disclosure belongs to the field of optical character recognition, and relates to a character recognition method.

BACKGROUND

During character recognition, character feature extraction is a crucial step. The feature extraction may be regarded as extraction for key information of original characters, thus the features should reflect differences among different characters as far as possible. In other words, differences between different types of character features should keep as far as possible. If features are selected inappropriately, a good recognition rate cannot be reached no matter what kind of classier is selected.

In general, to recognize a character, after edge of the character or skeleton of the character is extracted, features are extracted from the edge of the character or the skeleton of the character. In existing methods, when a point of the edge or the skeleton is described, only information about the current point itself is considered. For example, (x, y, f (x, y)) is used as a feature of the point of the edge or the skeleton, where x, y represent coordinates of a point P, and f (x, y) represents a brightness value. In this way, the extracted features are local. If two characters have similar local shapes (such as Q and O), features extracted form the two characters are highly similar, which makes it difficult to distinguish the two characters, and a recognition rate is poor.

Hence, it is very important to provide a new feature extraction method using another idea to describe points of the edge or skeleton of a character, so as to further distinguish character features, thereby improving a character recognition rate.

SUMMARY

The disclosure is to provide a character recognition method, to further differentiate features among different characters in order to improve character recognition rate.

The method includes following steps.

Step 1 includes: reading a character image.

Step 2 includes: image preprocessing.

Step 3 includes: character segmentation.

Step 4 includes: edge extraction, detecting edge points of the character by using an edge detecting operator.

Step 5 includes: feature extraction, i.e., expressing features of each edge point of each character by distances from rest edge points of the character to the edge point, where the features of the edge point of the character are represented by an eigenvector (P_(1k), P_(2k), . . . P_(Mk)) , thus eigenvectors of features of the character are represented by a matrix

$\begin{pmatrix} P_{21} & P_{31} & \ldots & P_{M\; 1} \\ P_{12} & P_{32} & \ldots & P_{M\; 2} \\ \vdots & \vdots & \ddots & \vdots \\ P_{1\; M} & P_{2\; M} & \ldots & P_{{({M - 1})}M} \end{pmatrix}.$

Step 6 includes: feature processing, i.e., feature processing, i.e., mapping the eigenvector (P_(1k), P_(2k) . . . P_(Mk)) to a matrix T, to obtain a same dimension for eigenvectors of all

characters, where

$T = {\begin{pmatrix} t_{11} & t_{12} & \ldots & t_{1\; v} \\ t_{21} & t_{22} & \ldots & t_{2\; v} \\ \vdots & \vdots & \ddots & \vdots \\ t_{u\; 1} & t_{u\; 2} & \ldots & t_{uv} \end{pmatrix}.}$

Step 7 includes: template matching, i.e., assuming that an edge of a character Θ to be recognized has M points X₁, X₂ . . . X_(M) and a standard character template Δ has N points Y₁, Y₂ . . . Y_(N), calculating a distance between the point X_(i) and the point Y_(j) in the standard character template Δ by an equation as:

${{D_{ij} \equiv {D\left( {X_{i},Y_{j}} \right)}} = {\sum\limits_{m = 1}^{u}{\sum\limits_{n = 1}^{v}\left( {{T_{i}\left( {m,n} \right)} - {T_{j}\left( {m,n} \right)}} \right)^{2}}}};$

denoting D_(iπ(i))=min D_(ij), which indicates that a point Y_(π(i)) in the standard character template Δ is a best matching point for the point X_(i),

a total distance from the character Θ to be recognized to the standard character template Δ being

${D_{\Theta \; \Delta} = {\sum\limits_{i = 0}^{M}D_{i\; {\pi {(i)}}}}};$

and

in a case that there are total Γ standard character templates, calculating total distances from the character Θ to be recognized to each standard character template respectively, and a template with a minimal distance to the character is a recognition result for the character.

Preferably, the method for feature processing in step 6 further includes following steps.

Step 61 includes: assuming one component P_(ij) of an eigenvector of any point of edge of a character as P_(ij)=(l_(ij),θ_(ij)), l_(ij)∈[0,L] and θ_(ij)∈[0,2π], forming a block matrix by dividing the interval [0,L] into u equal parts and dividing the interval [0,2π] into ν equal parts, and mapping each component of the eigenvector of any point of the edge of the character to the block matrix according to values of 1_(ij) and θ_(ij).

Step 62 includes: setting that a component t_(ij) of T is the number of eigen components P_(ij) mapped to a jth block in an ith row, then the eigenvector (P_(1k), P_(2k) . . . P_(Mk)) of any point is converted into a μ×ν matrix, for example,

$\begin{pmatrix} 0 & 5 & \ldots & 0 \\ 3 & 6 & \ldots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 2 & \ldots & 0 \end{pmatrix};$

and

step 63 comprising: representing all features of each character as

$\begin{pmatrix} T_{1} \\ T_{2} \\ \vdots \\ T_{M} \end{pmatrix},$

where each component T_(i) is a μ×ν matrix.

Preferably, the image preprocessing in step 2 includes image denoising, image rotation correction and image binarization.

Preferably, the character segmentation in step 3 is to perform horizontal projection and vertical projection on the binarized character image to segment the binarized character image into characters.

By the character recognition method provided according to the disclosure, features of each edge point of a character are expressed by using distances from rest edge points of the character to the edge point of the character, then eigenvectors of each character are converted into matrixes with a same dimension, and template matching recognition is performed, so that overall features of the entire character is ensured, features of different characters are better differentiated, a problem that features extracted from similar regions of different characters are highly similar in a conventional feature extracting method is overcome, thereby improving a character recognition rate.

BRIEF DESCRIPTION OF THE DRAWINGS

The drawings are used to provide further understanding of the disclosure, as a part of the specification, are used with embodiments of the disclosure to explain the disclosure, and are not meant to limit the disclosure. In the drawings,

FIG. 1 is a flow chart of a character recognition method provided according to a preferable embodiment of the disclosure;

FIG. 2 is an example of a character to be recognized according to a preferable embodiment of the disclosure; and

FIG. 3 is a block matrix diagram which is used to perform feature processing according to an embodiment.

DESCRIPTION

Technical solutions of the embodiments of the present disclosure will be illustrated completely and clearly with the drawings for the embodiments of the disclosure. Apparently, the described embodiments are merely a few rather than all of the embodiments of the present disclosure. All other embodiments obtained by people of ordinary skill in the art based on the embodiments of the present disclosure without creative efforts shall fall within the protection scope of the present disclosure.

In conjunction with FIG. 1 and FIG. 2, a character recognition method proposed according to the disclosure is illustrated by taking recognition for two locally similar characters B and P as an example in the embodiment. The character recognition method includes following steps.

Step 1 includes: reading a character image such as an image of a crown size region of a banknote.

Step 2 includes: image preprocessing, including three steps: image denoising, image rotation correction and image binarization.

Step 3 includes: character segmentation, i.e., performing horizontal projection and vertical projection on the binarized character image to segment the binarized character image into characters.

Step 4 includes: edge extraction, i.e., detecting edge points of the character by using an edge detecting operator.

Step 5 includes: feature extraction, i.e., expressing features of each edge point of each character by distances from rest edge points of the character to the edge point, where the features of the edge point of the character are represented by an eigenvector (P_(1k), P_(2k) . . . P_(Mk)), thus eigenvectors of features of the character are represented by a matrix:

$\begin{pmatrix} P_{21} & P_{31} & \ldots & P_{M\; 1} \\ P_{12`} & P_{32} & \ldots & P_{M\; 2} \\ \vdots & \vdots & \ddots & \vdots \\ P_{1\; M} & P_{2\; M} & \ldots & P_{{({M - 1})}M} \end{pmatrix}.$

According to the embodiment, all features of the character B may be represented as

$\begin{pmatrix} P_{21} & P_{31} & \ldots & P_{M\; 1} \\ P_{12`} & P_{32} & \ldots & P_{M\; 2} \\ \vdots & \vdots & \ddots & \vdots \\ P_{1\; M} & P_{2\; M} & \ldots & P_{{({M - 1})}M} \end{pmatrix};$

and all features of a character P may be represented as

$\begin{pmatrix} P_{21}^{\prime} & P_{31}^{\prime} & \ldots & P_{N\; 1}^{\prime} \\ P_{12}^{\prime} & P_{32}^{\prime} & \ldots & P_{N\; 2}^{\prime} \\ \vdots & \vdots & \ddots & \vdots \\ P_{1\; N}^{\prime} & P_{2\; N}^{\prime} & \ldots & P_{{({N - 1})}N}^{\prime} \end{pmatrix},$

where the character B has M edge points, and the character P has N edge points.

Step 6 includes: feature processing, i.e., feature processing, i.e., mapping the eigenvector (P_(1k), P_(2k) . . . P_(Mk)) to a matrix T, in order to obtain a same dimension for eigenvectors of all characters, where

$T = {\begin{pmatrix} t_{11} & t_{12} & \ldots & t_{1\; v} \\ t_{21} & t_{22} & \ldots & t_{2\; v} \\ \vdots & \vdots & \ddots & \vdots \\ t_{u\; 1} & t_{u\; 2} & \ldots & t_{uv} \end{pmatrix}.}$

Due to differences among characters, different characters may have different to number of edge points. In this case, if features are extracted according to the above method, a problem that eigenvectors have different dimensions may occur. For example, in a case that M≠N, (P₂₁, P₃₁ . . . P_(M1)) and (P′₂₁, P′₃₁ . . . P′_(N1)) .have different dimensions, it is not suitable for some existing matching algorithms for recognition.

To solve this problem, a mapping can be established: f: (P_(1k), P_(2k) . . . P_(Mk))→T_(μ×ν).

Features (P_(1k), P_(2k) . . . P_(Mk)) of the edge point are mapped to a matrix, where

$T = {\begin{pmatrix} t_{11} & t_{12} & \ldots & t_{1\; v} \\ t_{21} & t_{22} & \ldots & t_{2\; v} \\ \vdots & \vdots & \ddots & \vdots \\ t_{u\; 1} & t_{u\; 2} & \ldots & t_{uv} \end{pmatrix}.}$

Calculation of a component t_(ij) of the matrix T is illustrated as follows.

Since P_(ij)=(l_(ij), θ_(ij)), l_(ij)∈[0,L], θ_(ij)∈[0,2π], a block matrix is formed by dividing the interval [0,L] into u equal parts and dividing the interval [0,2π] into ν equal parts, as shown in FIG. 3. For an eigenvector of an edge point of a character, such as a component P₂₁=(l₂₁, θ₂₁) of X₁˜(P₂₁, P₃₁ . . . P_(M1)), P₂₁ is mapped to a block in FIG. 3 according to values of l₂₁ and θ₂₁. Thus, each component of the eigenvector of the point X₁ can be mapped to a block in FIG. 3 according to this rule.

It is set that a component t_(ij) of T is the number of feature components P_(ij) mapped to a jth block in an ith row. In this way, the eigenvector (P₂₁, P₃₁ . . . P_(M1)) of point X₁ is converted into a μ×ν matrix similar to:

$\begin{pmatrix} 0 & 5 & \ldots & 0 \\ 3 & 6 & \ldots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 2 & \ldots & 0 \end{pmatrix};$

Therefore, features (P_(1k), P_(2k) . . . P_(Mk)) in any dimension may all be mapped to a matrix T with a same size, so that the problem that dimensions of eigenvectors are different is solved. According to this way, all features of a character can be represented as

$\begin{pmatrix} T_{1} \\ T_{2} \\ \vdots \\ T_{M} \end{pmatrix},$

where each component T_(i) is a μ×ν matrix.

Step 7 includes: template matching.

It is assumed that an edge of a character Θ to be recognized has M points X₁, X₂ . . . X_(M) and a standard character template Δ has N points Y₁, Y₂ . . . Y_(N) A distance between the point X_(i) and the point Y_(j) in the standard character template Δ is calculated by an equation as:

${D_{ij} \equiv {D\left( {X_{i},Y_{j}} \right)}} = {\sum\limits_{m = 1}^{u}{\sum\limits_{n = 1}^{v}{\left( {{T_{i}\left( {m,n} \right)} - {T_{j}\left( {m,n} \right)}} \right)^{2}.}}}$

It is denoted that D_(iπ(i))=min D_(ij), which indicates that a point Y_(π(i)) in the standard character template Δ is a best matching point for the point X_(i).

A total distance from the character Θ to be recognized to the standard character template Δ is

$D_{\Theta \; \Delta} = {\sum\limits_{i = 0}^{M}{D_{i\; {\pi {(i)}}}.}}$

In a case that there are total Γ standard character templates, total distances from the character Θ to be recognized to each standard character template are calculated respectively, and a template with a minimal distance to the character is a recognition result for the character.

By the character recognition method provided according to the embodiment, features of each edge point of a character are expressed by using distances from rest edge points of the character to the edge point of the character, then eigenvectors of each character are converted into matrixes with a same dimension, and template matching recognition is performed, so that overall features of the entire character is ensured, features of different characters are better differentiated, a problem that features extracted from similar regions of different characters are highly similar in a conventional feature extracting method is overcome, thereby improving a character recognition rate.

The above are preferable embodiments of the disclosure. It should be noted that for people of ordinary skill in the art, some modifications and improvements may be made within the principle of the disclosure. These modifications and improvements are within the protection scope of the claims. 

1. A character recognition method, comprising: step 1 comprising: reading a character image; step 2 comprising: image preprocessing; step 3 comprising: character segmentation; step 4 comprising: edge extraction, i.e., detecting edge points of the character by using an edge detecting operator; step 5 comprising: feature extraction, i.e., expressing features of each edge point of each character by distances from rest edge points of the character to the edge point, wherein to the features of the edge point of the character are represented by an eigenvector (P_(1k), P_(2k) . . . P_(Mk)), thus eigenvectors of features of the character are represented by a matrix $\begin{pmatrix} P_{21} & P_{31} & \ldots & P_{M\; 1} \\ P_{12`} & P_{32} & \ldots & P_{M\; 2} \\ \vdots & \vdots & \ddots & \vdots \\ P_{1\; M} & P_{2\; M} & \ldots & P_{{({M - 1})}M} \end{pmatrix};$ step 6 comprising: feature processing, i.e., mapping the eigenvector (P_(1k), P_(2k) . . . P_(Mk)) to a matrix T, to obtain a same dimension for eigenvectors of all characters, wherein ${T = \begin{pmatrix} t_{11} & t_{12} & \ldots & t_{1\; v} \\ t_{21} & t_{22} & \ldots & t_{2\; v} \\ \vdots & \vdots & \ddots & \vdots \\ t_{u\; 1} & t_{u\; 2} & \ldots & t_{uv} \end{pmatrix}};$ and step 7 comprising: template matching, i.e., assuming that an edge of a character Θ to be recognized has M points X₁, X₂ . . . X_(M), and a standard character template Δ has N points Y₁, Y₂ . . . Y_(N), calculating a distance between the point X_(i) and the point Y_(j) in the standard character template Δ by an equation as: ${{D_{ij} \equiv {D\left( {X_{i},Y_{j}} \right)}} = {\sum\limits_{m = 1}^{u}{\sum\limits_{n = 1}^{v}\left( {{T_{i}\left( {m,n} \right)} - {T_{j}\left( {m,n} \right)}} \right)^{2}}}};$ denoting D_(iπ(i))=min D_(ij), which indicates that a point Y_(π(i)) in the standard character template Δ is a best matching point for the point X_(i), a total distance from the character Θ to be recognized to the standard character template Δ being ${D_{\Theta \; \Delta} = {\sum\limits_{i = 0}^{M}D_{i\; {\pi {(i)}}}}};$ and in a case that there are total Γ standard character templates, calculating total distances from the character Θ to be recognized to each standard character template respectively, and a template with a minimal distance to the character is a recognition result for the character.
 2. The character recognition method according to claim 1, wherein the mapping the eigenvector (P_(1k), P_(2k) . . . P_(Mk)) to a matrix T in step 6 comprises: step 61 comprising: assuming one component P_(ij) of an eigenvector of any point of edge of a character as P_(ij)=(l_(ij), θ_(ij)), wherein l_(ij)∈[0,2π], forming a block matrix by dividing the interval [0,L] into u equal parts and dividing the interval [0,2π] into ν equal parts, and mapping each component of the eigenvector of any point of the edge of the character to the block matrix according to values of 1_(ij) and θ_(ij); and step 62 comprises: setting that a component t_(ij) of T is the number of eigen components P_(ij) mapped to a jth block in an ith row, then the eigenvector (P_(1k), P_(2k) . . . P_(Mk)) of any point is converted into a μ×ν matrix T; and step 63 comprising: representing all features of each character as $\begin{pmatrix} T_{1} \\ T_{2} \\ \vdots \\ T_{M} \end{pmatrix},$ wherein each component T_(i) is a μ×ν matrix.
 3. The character recognition method according to claim 1, wherein the image preprocessing in step 2 comprises image denoising, image rotation correction and image binarization.
 4. The character recognition method according to claim 1, wherein the character segmentation in step 3 comprises: performing horizontal projection and vertical projection on the binarized character image to segment the binarized character image into characters. 